package com.video.video.mapper;

import com.video.video.domain.DClassifyBach;
import com.video.video.domain.app.dto.DClassifyDto;
import com.video.video.domain.app.dto.DGroupingDto;
import com.video.video.domain.vo.ClassifyVo;
import java.util.List;
import com.video.video.domain.DClassify;
import org.apache.ibatis.annotations.Param;

/**
 * 分类Mapper接口
 *
 * @author ruoyi
 * @date 2022-09-27
 */
public interface DClassifyMapper
{
    /**
     * 查询分类
     *
     * @param id 分类主键
     * @return 分类
     */
    public DClassify selectDClassifyById(String id);


    public DClassify selectDClassifyByName(@Param("classifyName") String classifyName, @Param("level") int level);


    /**
     * 获取分类集合
     * @return
     */
    List<ClassifyVo> selectClassifyVoList();

    /**
     * 根据父级ID 查询子集合
     * @param pid
     * @return
     */
    List<ClassifyVo> getlistByPid(String pid);

    /**
     * 查询分类列表
     *
     * @param dClassify 分类
     * @return 分类集合
     */
    public List<DClassify> selectDClassifyList(DClassify dClassify);


    public List<DClassify> selectDClassLevel2List(@Param("pid") String pid,@Param("status") String status);


    /**
     * 查询分类列表
     * @param dClassify
     * @return
     */
    public List<DClassifyDto> selectDClassifyDtoList(DClassify dClassify);

    /**
     * 新增分类
     *
     * @param dClassify 分类
     * @return 结果
     */
    public int insertDClassify(DClassify dClassify);

    /**
     * 修改分类
     *
     * @param dClassify 分类
     * @return 结果
     */
    public int updateDClassify(DClassify dClassify);


    /**
     * 批量修改分类状态 ，启用，禁用
     * @return
     */
    public int updateDClassifyStatus(@Param("ids") String[] ids,@Param("status") String status);


    /**
     * 删除分类
     *
     * @param id 分类主键
     * @return 结果
     */
    public int deleteDClassifyById(String id);

    /**
     * 批量删除分类
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDClassifyByIds(String[] ids);
}
